# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Spirit Valley Template

game: Spirit Valley
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.
  game:
    Spirit Valley: 2.1.0 # Version of the world required for this yaml to work as expected.

Spirit Valley:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  Char_Gender:
    # Sets Character Gender in Game NOTE: you can change this by interacting the wardrobe in the house in oakwood village
    male: 50
    female: 0

  Char_Skin:
    # Sets Character Skin color in Game NOTE: you can change this by interacting the wardrobe in the house in oakwood village
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 2
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-2: 0 # random value between 0 and 2

  Char_Hairstyle:
    # Sets Character Hairstyle in Game NOTE: you can change this by interacting the wardrobe in the house in oakwood village
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 3
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-3: 0 # random value between 0 and 3

  Char_Haircolor:
    # Sets Character Hair Color in Game NOTE: you can change this by interacting the wardrobe in the house in oakwood village
    # NOTE 2: Male Chars only have 3 hair colors so if option 3 is selected it will be changed to option 2
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 3
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-3: 0 # random value between 0 and 3

  Char_Outfit:
    # Sets Character Outfit in Game NOTE: you can change this by interacting the wardrobe in the house in oakwood village
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 3
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-3: 0 # random value between 0 and 3

  goal:
    # sets what the goal is
    # mission = complete all main missions
    # catch = catch all spirits
    # rare = catch all rare spirits
    # affection = catch and get Lv5 affection with all spirits
    mission: 50
    catch: 0
    rare: 0
    affection: 0

  Randomise_Spawns:
    # randomise the spawns in the grass/water NOTE will also randomise what spirit is obtained through the "Simulated Scuffle" and "Gold Plated" side quests
    'false': 0
    'true': 50

  Grass_slots:
    # number of spirit slots in the grass
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 3
    # Maximum value is 15
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-3-15: 0 # random value between 3 and 15

  Water_slots:
    # number of spirit slots in the water
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 15
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-15: 0 # random value between 1 and 15

  Randomise_Enemies:
    # randomise the enemies team of spirits
    'false': 0
    'true': 50

  Enemy_Vision:
    # Enable/Disable Enemy Vision
    'false': 0
    'true': 50

  Enemy_Spin:
    # Sets whether Enemy's will stand sill, spin in a circle or randomly rotate
    still: 50
    spin: 0
    rotate: 0

  Randomise_Spirit_Moves:
    # randomise moves learned by spirits
    'false': 50
    'true': 0

  Randomise_Spirit_Moves_Amount:
    # number of move to randomise on to spirits
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 40
    10: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-5-40: 0 # random value between 5 and 40

  Randomise_Spirit_Evo:
    # randomise Evolution for spirits
    'false': 50
    'true': 0

  Randomise_Spirit_Type:
    # randomise Type for spirits
    'false': 50
    'true': 0

  Randomise_Spirit_Stats:
    # randomise stats for spirits
    'false': 50
    'true': 0

  Randomise_Move_Data:
    # randomise Move Data
    'false': 50
    'true': 0

  Randomise_Type_Effective:
    # randomise Type effectiveness
    'false': 50
    'true': 0

  Spirit_Locations:
    # have catch/obtaining spirits as locations
    'false': 0
    'true': 50

  Spirit_Affection:
    # have affection lv for spirits as locations
    # NOTE: requires Spirit_Locations to be true
    'false': 50
    'true': 0

  Rare_Locations:
    # have catch/obtaining rare spirits as locations
    # NOTE: requires Spirit_Locations to be true
    'false': 0
    'true': 50

  Spirit_Obtain_progression:
    # Stop Progression Items being behind Spirit Obtain Locations
    'false': 50
    'true': 0

  Rare_Spirit_Obtain_progression:
    # Stop Progression Items being behind Rare Spirit Obtain Locations
    'false': 0
    'true': 50

  Spirit_Affection_progression:
    # Stop Progression Items being behind Spirit Affection Locations
    'false': 0
    'true': 50

  randomise_map:
    # randomise map
    'false': 50
    'true': 0

  randomise_map_option:
    # sets map rando option
    # none (default) = no logic in how the map is connected
    # some = exits that lead to dead ends will always lead to dead ends
    none: 0
    some: 50

  randomise_warps:
    # add warp locations/items to the rando pool
    'false': 0
    'true': 50

  Main_Missions:
    # enable/disable Main Missions
    'false': 0
    'true': 50

  Side_Missions:
    # enable/disable Side Missions
    'false': 0
    'true': 50

  Single_Catch:
    # enable or disable to limit only a single spirit to be caught per map/route
    # NOTE: requires "Spirit_Locations" to be set to false
    'false': 50
    'true': 0

  Deathlink:
    # enable or disable Deathlink
    'false': 50
    'true': 0

  Minigame_Cheat:
    # set to enable cheat so sex minigame cant miss
    'false': 50
    'true': 0

  Guaranteed_Catch:
    # set to make sprit crystals catch guaranteed
    'false': 50
    'true': 0

  Xp_Modifer:
    # Modifier to XP gained.
    # 0 -> no XP gained
    # 50 -> 1/2 XP gained
    # 100 -> XP not effected
    # 200 -> 2x XP gained
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10000
    100: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10000: 0 # random value between 0 and 10000

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
